4
תגובות
לאחרונה התחלתי להתעניין באופן עבודה של תאגיד פייסבוק, החל מהסקריפטים שהם פיתוח/מפתחים ועד חיפוש וחקר השירותים שבהם הם משתמשים.

כאשר ניכנסתי לאזור הפיתוח של פייסבוק (developer.facebook.com) ראיתי שהם משתמשים בXMPP, הייתי שמח לדעת במה מדובר .. זה שרת? תוכנה כלשהי? קליינט?

בנוסף אני מאוד מתעניין באופן שמירת המידע שלהם, האם הם משתמשים בקאצ'ים? מסדי נתונים כמו MYSQL? קבצים? ואיך הצ'אטים שלהם עובדים ?

תודה רבה מראש על התשובות שלכם!

4 תשובות

avatar ענה intval ב 17 לדצמבר 2011 #

xmpp זה פרוטוקול, כמו http, ftp ואחרים. תוכל לקרוא עליו בוויקפדיה.

שמירת הנתונים שלהם זה עניין יותר מעניין. הם משתמשים בכמה מסדי שונים, שמפוזרים על הרבה מאוד מחשבים. הם אף פיתחו תוכנת מסד נתונים משלהם שנקראת cassandra .מה זה קאצ'ים ?
בין היתר הם הכן משתמשים ב MYSQL, אבל רק בתור key-value storage. את כל ה joinים הם עושים בצד של הקוד, כיוון שיותר קל להוסיף עוד שרת קוד, מאשר שרת מסד.

הצ'אט שלהם עובד כמו כל צ'אט רגיל שאתה היית כותב. כמה סקריפטי javascript ששולחים ומקבלים בקשות ב-ajax מסקריפטים בשרת, ששומרים את כל אותם הנתונים במסדים שלהם.

העמודים של developer.facebook.com מיועדים אך ורק למפתחי אתרים ואפליקציות, כדי לאפשר להם לקשר את האתרים ואפליקציות שלהם אל פייסבוק. אין בהם קשר לפיתוח או המבנה הפנימי של פייסבוק.

avatar ענה אנונימי ב 17 לדצמבר 2011 #

קאצ'ים - לדוגמה מנוע memcached, הם משתמשים במנועים כאלה?

מה הכוונה בשרת קוד?

תודה רבה על תשובתך!

avatar ענה intval ב 17 לדצמבר 2011 #

כמובן שהם משתמשים בקאש, חוץ מזה שהם עשו כל כך הרבה שינויים ב memcached והרבה מהם הגיעו לקוד המקורי.
בשרת קוד התכוונתי לשרת שעליו מתבצע הקוד. למשל המחשב שלך, כשאתה מריץ עליו את הסקריפטים.

avatar ענה אנונימי ב 17 לדצמבר 2011 #

תודה רבה.